#ifndef DRIVERGNUPLOT_H
#define DRIVERGNUPLOT_H


//!Includes
#include "../../Libs/gnuplot_i.h"
#include "Aria.h"
#include "ArNetworking.h"


//!Defines


//!Global Functions


namespace driver
{

/**
 * class DriverGnuPlot
 *
 * Autor:David Bevilaqua
 *
 * DESCRIPTION:
 *
 */

class DriverGnuPlot
{
public:

	//!Enums



	//!Constructors/Destructors

	/**
	 * Empty Constructor
	 */
	DriverGnuPlot ( );

	/**
	 * Empty Destructor
	 */

	~DriverGnuPlot ( );

	//!Public Attributes
	 int m_MaxPoints;
	 double *m_pPointsX;
	 double *m_pPointsY;



	//!Public Accessor Methods
	void SetLabelX (std::string string );
	void SetLabelY (std::string string );
	void SetStyle(std::string string );
	//!Public Methods

	void Execute ( );
	void PlotXY (std::string string );
	void PlotX (std::string string );
	void ResetPlot ( );
protected:

	//!Protected Attributes



	//!Protected Methods



private:

	//!Private Attributes
	 gnuplot_ctrl  *m_pHandle;

	//!Private Methods
	void initAttributes ( );

};

};

#endif
